{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tqdm\n",
    "import random\n",
    "import itertools\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import accuracy_score, classification_report, confusion_matrix\n",
    "\n",
    "from tensorflow.keras.utils import *\n",
    "from tensorflow.keras.layers import *\n",
    "from tensorflow.keras.models import *\n",
    "from tensorflow.keras.optimizers import *\n",
    "from tensorflow.keras.callbacks import *\n",
    "\n",
    "import librosa, librosa.display"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_confusion_matrix(cm, classes, title='Confusion matrix', cmap=plt.cm.Blues):\n",
    "\n",
    "    cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n",
    "\n",
    "    plt.imshow(cm, interpolation='nearest', cmap=cmap)\n",
    "    plt.title(title, fontsize=25)\n",
    "    #plt.colorbar()\n",
    "    tick_marks = np.arange(len(classes))\n",
    "    plt.xticks(tick_marks, classes, rotation=90, fontsize=15)\n",
    "    plt.yticks(tick_marks, classes, fontsize=15)\n",
    "\n",
    "    fmt = '.2f'\n",
    "    thresh = cm.max() / 2.\n",
    "    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n",
    "        plt.text(j, i, format(cm[i, j], fmt),\n",
    "                 horizontalalignment=\"center\",\n",
    "                 color=\"white\" if cm[i, j] > thresh else \"black\", fontsize = 14)\n",
    "\n",
    "    plt.ylabel('True label', fontsize=20)\n",
    "    plt.xlabel('Predicted label', fontsize=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(13230, 6000)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>...</th>\n",
       "      <th>5990</th>\n",
       "      <th>5991</th>\n",
       "      <th>5992</th>\n",
       "      <th>5993</th>\n",
       "      <th>5994</th>\n",
       "      <th>5995</th>\n",
       "      <th>5996</th>\n",
       "      <th>5997</th>\n",
       "      <th>5998</th>\n",
       "      <th>5999</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>151.47</td>\n",
       "      <td>151.45</td>\n",
       "      <td>151.52</td>\n",
       "      <td>151.27</td>\n",
       "      <td>150.80</td>\n",
       "      <td>150.69</td>\n",
       "      <td>153.89</td>\n",
       "      <td>154.67</td>\n",
       "      <td>152.88</td>\n",
       "      <td>153.82</td>\n",
       "      <td>...</td>\n",
       "      <td>151.16</td>\n",
       "      <td>151.19</td>\n",
       "      <td>151.25</td>\n",
       "      <td>151.16</td>\n",
       "      <td>151.10</td>\n",
       "      <td>151.16</td>\n",
       "      <td>151.14</td>\n",
       "      <td>151.10</td>\n",
       "      <td>151.21</td>\n",
       "      <td>151.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>151.11</td>\n",
       "      <td>151.12</td>\n",
       "      <td>151.16</td>\n",
       "      <td>150.92</td>\n",
       "      <td>150.70</td>\n",
       "      <td>150.62</td>\n",
       "      <td>152.40</td>\n",
       "      <td>153.21</td>\n",
       "      <td>152.81</td>\n",
       "      <td>153.53</td>\n",
       "      <td>...</td>\n",
       "      <td>150.82</td>\n",
       "      <td>150.82</td>\n",
       "      <td>150.86</td>\n",
       "      <td>150.80</td>\n",
       "      <td>150.73</td>\n",
       "      <td>150.79</td>\n",
       "      <td>150.84</td>\n",
       "      <td>150.79</td>\n",
       "      <td>150.80</td>\n",
       "      <td>150.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>150.81</td>\n",
       "      <td>150.79</td>\n",
       "      <td>150.84</td>\n",
       "      <td>150.65</td>\n",
       "      <td>150.35</td>\n",
       "      <td>150.23</td>\n",
       "      <td>152.03</td>\n",
       "      <td>152.81</td>\n",
       "      <td>152.44</td>\n",
       "      <td>153.27</td>\n",
       "      <td>...</td>\n",
       "      <td>150.49</td>\n",
       "      <td>150.44</td>\n",
       "      <td>150.47</td>\n",
       "      <td>150.46</td>\n",
       "      <td>150.38</td>\n",
       "      <td>150.47</td>\n",
       "      <td>150.50</td>\n",
       "      <td>150.43</td>\n",
       "      <td>150.54</td>\n",
       "      <td>150.62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>150.48</td>\n",
       "      <td>150.47</td>\n",
       "      <td>150.52</td>\n",
       "      <td>150.31</td>\n",
       "      <td>150.04</td>\n",
       "      <td>149.98</td>\n",
       "      <td>151.63</td>\n",
       "      <td>152.48</td>\n",
       "      <td>152.24</td>\n",
       "      <td>152.94</td>\n",
       "      <td>...</td>\n",
       "      <td>150.34</td>\n",
       "      <td>150.30</td>\n",
       "      <td>150.28</td>\n",
       "      <td>150.38</td>\n",
       "      <td>150.41</td>\n",
       "      <td>150.33</td>\n",
       "      <td>150.31</td>\n",
       "      <td>150.31</td>\n",
       "      <td>150.25</td>\n",
       "      <td>150.28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>150.41</td>\n",
       "      <td>150.35</td>\n",
       "      <td>150.24</td>\n",
       "      <td>150.12</td>\n",
       "      <td>149.87</td>\n",
       "      <td>149.71</td>\n",
       "      <td>151.64</td>\n",
       "      <td>152.37</td>\n",
       "      <td>151.78</td>\n",
       "      <td>152.68</td>\n",
       "      <td>...</td>\n",
       "      <td>150.31</td>\n",
       "      <td>150.20</td>\n",
       "      <td>150.17</td>\n",
       "      <td>150.28</td>\n",
       "      <td>150.31</td>\n",
       "      <td>150.25</td>\n",
       "      <td>150.27</td>\n",
       "      <td>150.22</td>\n",
       "      <td>150.13</td>\n",
       "      <td>150.19</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 6000 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     0       1       2       3       4       5       6       7       8     \\\n",
       "0  151.47  151.45  151.52  151.27  150.80  150.69  153.89  154.67  152.88   \n",
       "1  151.11  151.12  151.16  150.92  150.70  150.62  152.40  153.21  152.81   \n",
       "2  150.81  150.79  150.84  150.65  150.35  150.23  152.03  152.81  152.44   \n",
       "3  150.48  150.47  150.52  150.31  150.04  149.98  151.63  152.48  152.24   \n",
       "4  150.41  150.35  150.24  150.12  149.87  149.71  151.64  152.37  151.78   \n",
       "\n",
       "     9     ...    5990    5991    5992    5993    5994    5995    5996  \\\n",
       "0  153.82  ...  151.16  151.19  151.25  151.16  151.10  151.16  151.14   \n",
       "1  153.53  ...  150.82  150.82  150.86  150.80  150.73  150.79  150.84   \n",
       "2  153.27  ...  150.49  150.44  150.47  150.46  150.38  150.47  150.50   \n",
       "3  152.94  ...  150.34  150.30  150.28  150.38  150.41  150.33  150.31   \n",
       "4  152.68  ...  150.31  150.20  150.17  150.28  150.31  150.25  150.27   \n",
       "\n",
       "     5997    5998    5999  \n",
       "0  151.10  151.21  151.19  \n",
       "1  150.79  150.80  150.86  \n",
       "2  150.43  150.54  150.62  \n",
       "3  150.31  150.25  150.28  \n",
       "4  150.22  150.13  150.19  \n",
       "\n",
       "[5 rows x 6000 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "### READ AND CONCAT DATA ###\n",
    "\n",
    "label = pd.read_csv('profile.txt', sep='\\t', header=None)\n",
    "label.columns = ['Cooler','Valve','Pump','Accumulator','Flag']\n",
    "\n",
    "data = ['PS1.txt','PS2.txt','PS3.txt','PS4.txt','PS5.txt','PS6.txt']\n",
    "df = pd.DataFrame()\n",
    "\n",
    "for txt in data:\n",
    "    read_df = pd.read_csv(txt, sep='\\t', header=None)\n",
    "    df = df.append(read_df)\n",
    "\n",
    "print(df.shape)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2205, 6000, 6)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "### RESHAPE DATA AMONG SENSORS ###\n",
    "\n",
    "df = df.sort_index().values.reshape(-1,len(data),len(df.columns)).transpose(0,2,1)\n",
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "### PLOT ORIGINAL PRESSURE DATA ###\n",
    "\n",
    "plt.figure(figsize=(8,5))\n",
    "plt.plot(df[2])\n",
    "plt.title('Original Pressure Signals')\n",
    "plt.ylabel('Pressure'); plt.xlabel('Time')\n",
    "np.set_printoptions(False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2205, 5999, 6)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "### APPLY CLIPPING AND FIRST ORDER DIFFERECE ###\n",
    "\n",
    "df = np.clip(np.diff(df, axis=1), -5,5)\n",
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfAAAAFNCAYAAAD/+D1NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3dd3gVZdrH8e+dRi+hiPSuUlRULKy9rajYu6JiXcVe1tXVtay6uirWV3Gxrw1dO1jRRXd1LYAVRHqvoUgvgdzvHzNJTvoBk5xM5ve5rlw5mZkzc5/nnJx7njLPmLsjIiIi0ZKW6gBERERkyymBi4iIRJASuIiISAQpgYuIiESQEriIiEgEKYGLiIhEkBK4yFYyswPMbG4l7q+TmbmZZYR/v29mZ1fW/sN93mpmL1TmPmsLM3vczP5SDcfReyCVQglcIs3M9jGz/5nZCjNbZmZfmNnu4bpBZvZ5qmPcWu5+uLs/V13HC09I8sxstZmtMrNJZnZOdR2/OpjZeWb2S/j6FpnZu2bWCMDdL3L321Mdo0iyMlIdgMjWMrPGwEjgYuBVIAvYF9iQyriSYWYZ7r4p1XGUYr67tzMzA44BXjOzr93958SNakL8WxqDme0P/A3o7+7fmVkz4KgqC1CkiqkGLlG2HYC7v+zum919nbt/5O4/mlkP4HGgX1ij/BXAzI40s+/MbKWZzTGzW/N3ltCEfbaZzTazJWZ2Y8L6emb2rJktN7Ofgd0TgzGz681sWli7+9nMjktYNyhsHXjAzJYBt5pZupndFx5nOnBksf19ambnh49/CF9H/o+b2QHhur3CVohfw+0OSNhHZzP7LIxpFNAimYL1wFvAcqBnQtmcZ2azgX8ncexBZjY9PPYMMzsjXN4tjGlF+NpfKVb+GQn7SCyDEmUYLj/XzCaG78uHZtaxjJe1O/Clu38XvsZl7v6cu68K9/Osmd2RcOzrzGyBmc03s/PD2LolbPtoWINfZWZfm1nXhOc+FH6+VprZODPbt7SAzKyumb1gZkvDMhxjZq2SeY9ElMAlyiYDm83sOTM73Myy81e4+0TgIoIv7Ibu3jRctQY4C2hKkDAvNrNji+13H2B74GDg5vBkAOAWoGv4cxhQvH96GkELQBPgNuAFM2udsH5PYDqwDXAncAEwANgF6AucWNYLdfedw9fRELgamAR8a2ZtgXeBO4BmwLXA62bWMnzqS8A4gsR9eykxl8rM0sITkKbATwmr9gd6AIeVd2wzawA8DBzu7o2A3wHfh/u4HfgIyAbaAY8kE1OoSBmG792fgeOBlsB/gZfLeO7XYdy3mdneZlannNffn6CcDwG6ha+7uNMI3udsYCrBe5pvDNCHoFxeAv5lZnVL2cfZBJ+X9kBzgs/surLiEkmkBC6R5e4rCZKtA08AOWb2Tnk1GHf/1N1/cvc8d/+R4Mu++JfzbWFt/gfgB2DncPnJwJ1hzW0OQYJK3Pe/3H1+uO9XgCnAHgmbzHf3R9x9k7uvC/f3oLvPcfdlwF0VvWYz24cgYR4dvv6BwHvu/l543FHAWOAIM+tAUOv8i7tvcPf/ACMqOEQbC1orlhCcsJzp7pMS1t/q7mvC+Ms8drhtHtDbzOq5+wJ3nxAuzwU6Am3cfb27b8k4heJl+AfgLnefGDan/w3oU1ot3N3/S5DodyU48VhqZvebWXopxzkZeMbdJ7j7WoJEXdwb7v5NeNwXCRJ2/rFecPelYZxDgDoEJ4XF5RIk7m5hK9K48H0VqZASuERa+MU9yN3bAb2BNsCDZW1vZnua2WgzyzGzFQQ1nuLNygsTHq8FGoaP2wBzEtbNKrbvs8zs+7Ap9NcwnsR9Jz63wv2VEnt7gr7+s919cri4I3BS/jHD4+4DtA73v9zd1yR7DIIE2dTdm7l7H3cfXmx9YrxlHjs85ikE5bsgbGreIXzedYAB35jZBDM7t4KYyjp+fgwPJRx/WbjvtqU92d3fd/ejCGrGxwCDgPNL2bT4e1P8uFD25wQzuyZs1l8RxtWE0rsvngc+BIaHTfX3mFlmabGLFKcELrWGu/8CPEuQOCGomRf3EvAO0N7dmxD0k1uSh1hA0NSZr0P+g7DG9wRwKdA8bLIfX2zfxeMpc3/FmVk94C2CGvv7CavmAM+HSTf/p4G73x3uPztszq7wGElKfA3lHRt3/9DdDyU4mfiFoHxw94XufoG7tyGoQT8W9i3nn2jUTzjGtuUcPz+GPxSLoZ67/6/cFxG0GHxC0Jffu5RNFhA07+drX8o2pQr7u/9EUIvPDj8LKyjlc+buue5+m7v3JOhmGEDQxSNSISVwiSwz2yGs6bQL/25P0C/5VbjJIqCdmWUlPK0RsMzd15vZHsDpW3DIV4EbzCw7POZlCesaECSXnDCWcyg9MRTf3+Vm1i7sv7++nG2fBn5x93uKLX8BOMrMDrNgUFxdCy4Ha+fuswiatG8zs6yw+b0yR12XeWwza2VmR4cnDxuA1cBmADM7Kf89Ixgk58Bmd88B5gEDw/2dSzDeoDyPE7wnvcJ9NzGzk0rb0MyOMbNTw/fPwvd/fwo/L4leBc4xsx5mVh+4eQvKpRGwieCzkGFmNwONy4jpQDPbMWzGX0nQpL55C44lMaYELlG2imBQ09dmtobgi3g8cE24/t/ABGChmS0Jlw0G/mpmqwi+lF/dguPdRtAEPYNgENbz+SvCy6yGAF8SnDjsCHxRwf6eIGg+/QH4FnijnG1PBY6zoiPR9w374o8hGMiVQ1Aj/SOF/9unE5TRMoI+7X8m/WorUMGx0wjeh/nhsfcnKHsI+uW/NrPVBK0hV7j7jHDdBeE+lgK9gIpq0m8Cfydogl5J8P4fXsbmy8P9TyFIli8A97r7i6Xs932CMQ6jCQaofRmuSuYSxQ+B9wkGWc4C1lN6EzwELQyvhfFMBD4L4xKpkLmX1sooIiL5wisRxgN1vGZevy8xpBq4iEgpzOy4sOshm6CWP0LJW2oSJXARkdL9gaBrYBpBv/TFqQ1HpCg1oYuIiESQauAiIiIRpAQuIiISQZG6G1mLFi28U6dOqQ5DRESkWowbN26Ju7csbV2kEninTp0YO3ZsqsMQERGpFmZW5vTHakIXERGJICVwERGRCFICFxERiSAlcBERkQhSAhcREYkgJXAREZEIUgIXERGJICVwERGRCFICFxERiSAl8BjKy9vMRyM/YtGS5akORUREtpISeAzN/XkCPz3/MHfe/mCqQxERka2kBB5DuRvWA5C3YkmKIxERka2lBC4iIhJBSuCx5KkOQEREfiMlcBERkQhSAhcREYkgJfAYcrWgi4hEnhJ4jLmlOgIREdlaSuAiIiIRpAQeR2pDFxGJPCXwWFMbuohIVCmBi4iIRJASeAy5JnIREYk8JXAREZEIUgIXERGJICVwERGRCFICFxERiSAlcBERkQhSAo8jTeQiIhJ5SuAx5prIRUQkspTAY0gVcBGR6Et5AjezdDP7zsxGpjqW+FAGFxGJupQncOAKYGKqgxAREYmSlCZwM2sHHAk8mco4REREoibVNfAHgeuAvBTHESuepyZ0EZGoS1kCN7MBwGJ3H1fBdhea2VgzG5uTk1NN0cWD0riISHSlsga+N3C0mc0EhgMHmdkLxTdy92Hu3tfd+7Zs2bK6YxQREamRUpbA3f0Gd2/n7p2AU4F/u/vAVMUTJ6p5i4hEX6r7wEVERGQrZKQ6AAB3/xT4NMVhiIiIRIZq4CIiIhGkBB5DXjCXquZCFxGJKiVwERGRCFICjyPdzUREJPKUwGPIi/0WEZHoUQIXERGJICXwGFLNW0Qk+pTA46hgELpGoYuIRJUSuIiISAQpgceQaxS6iEjkKYGLiIhEkBJ4LKkGLiISdUrgIiIiEaQELiIiEkFK4DGkBnQRkehTAo8jjUIXEYk8JfAYc91OVEQkspTARUREIkgJPIbUgi4iEn1K4CIiIhGkBC4iIhJBSuAxpLnQRUSiTwk8xpTGRUSiSwlcREQkgpTAY0hN6CIi0acELiIiEkFK4HGkCdhERCJPCTyO1IIuIhJ5SuAxVJi/VRUXEYkqJXAREZEIUgKPI41CFxGJPCXwGPJiv0VEJHqUwEVERCJICTyWVPcWEYk6JfBY0yh0EZGoUgKPIY1hExGJPiXwOFIGFxGJPCXwOFMLuohIZCmBx5CXeCAiIlGjBC4iIhJBSuBxpiZ0EZHISlkCN7P2ZjbazCaa2QQzuyJVsYiIiERNRgqPvQm4xt2/NbNGwDgzG+XuP6cwplhwjUIXEYm8lNXA3X2Bu38bPl4FTATapiqeOFIaFxGJrhrRB25mnYBdgK9LWXehmY01s7E5OTnVHZqIiEiNlPIEbmYNgdeBK919ZfH17j7M3fu6e9+WLVtWf4C1kareIiKRl9IEbmaZBMn7RXd/I5WxxJOGoYuIRFUqR6Eb8BQw0d3vT1UcIiIiUZTKGvjewJnAQWb2ffhzRHUGkDN7FZ4Xv/Zk97xUhyAiIr9Ryi4jc/fPSWEb7oJpK3jj3nH0O64rux7WMVVhiIiIbJWUD2JLlVXL1gGQM2dViiMRERHZcrFN4BbnAVzx6zUQEal1YpvA40z5W0Qk+pTAlc1ERCSC4pvAY9yCLlKcu/P1m6+yetnSVIciIkmKbwKPscJGB53FSGDJ7Jl8PvyfjHjw76kORUSSFPsErhtziUBeXjA3QO76dSmORESSVWECN7P6ZvYXM3si/Lu7mQ2o+tCkyuisBYAp3/yPKWO+THUYNUIwMaKIREkyNfBngA1Av/DvucAdVRaRVDkPG9E95t/Z7wz5G+/cd2eqwxAR2SrJJPCu7n4PkAvg7uuoVZ2n8a2N1qI3UUQkdpJJ4BvNrB5hpjOzrgQ18kiLdZNhfM9ZpCLqXhGJjGTmQr8F+ABob2YvEtyEZFBVBiXVw1UHFxGJrAoTuLuPMrNvgb0IWl2vcPclVR5ZdYlhhSOGL1lEpNZJZhT6ccAmd3/X3UcCm8zs2KoPTaqMmklFRCIvmT7wW9x9Rf4f7v4rQbN6raBUJlJI/w8i0ZFMAi9tm5TdR7yyaAybSKGCQZ1qnRGJjGQS+Fgzu9/MuppZFzN7ABhX1YGJSDWK8xmtSEQlk8AvAzYCrwD/AtYDl1RlUNVKFQ4REYmgZEahrwGur4ZYREREJEkVJnAz2w64FuiUuL27H1R1YUlVcvVziohEXjKD0f4FPA48CWyu2nCqUcGYnRgnM/V7iohEVjIJfJO7D63ySKqZaRYy9f9LCbE+oRWJmGQGsY0ws8Fm1trMmuX/VHlk1WTjuk2pDqH66UtaitHprEj0JFMDPzv8/ceEZQ50qfxwqt+8yb+mOoTU0be25FN3ShHTclbz6tg5XN9/h3jf+EhqtGRGoXeujkCqnf4nRaQM5z47hllL1zJwz460b1Y/1eGIlCqZudDrm9lNZjYs/Lu7mQ2o+tCq139fmczoF39JdRjVQ03oIuXanBf8j+hfRWqyZJrQnyGYee134d9zCUamj6yqoKrboxf9u+Bxv2O7UrdBZgqjqXpe7LeIFFUws6z+S6QGS2YQW1d3vwfIBXD3ddTiBuj3hv6Y6hCqXOFI41r7NspW0ij0QP5VKioOqcmSSeAbzaweYYXNzLoCG6o0qhRaMHVFxRtF3m9P4Bs2bebWdyawYm1u5YSUQu7OjB9y4p284vzaS1FYAxepuZK6nSjwAdDezF4EPgGuq9KopEp5XvjgN1TA3/h2Hs/+byZ97xxFv7s+qZS4UuU/Iybw7mPjeHDgicz4bmyqw0mJdauDE7H1q6N/QlYZ0iy/Bq4ULjVXuQncgusnfgGOBwYBLwN93f3TKo9Mqpz/hgyeP8gnd7OzYMX6ygopJaZMnYdvXkLepg188eoLqQ4nJdatChrV1q5YyOrlG3j0on+zaObKFEeVOvn/GXnK31KDlZvAPTj9fMvdl7r7u+4+0t2XVFNsqRGLbuGt/1Z67NOpPPX5jII9NNi0mn2WfkFeXnRn2c1bmUvuuv8CsH7N6qSes2p9Lmc8+RVzl6+tytCqT8K1zpO/mcL65ffz9dv/S2FAKVZQHMrgUnMl04T+lZntXuWRVLOFK8uoNcbg//W3NAve88Ekbh/5M7mbgnb4Q3JGs8vKH/ngsQcrK7xqt372XHzTPADWrVyV1HPe/2khX0xdykMfT6nK0KpN4nnr6KeDmw8umhHfBJ5fHmpBDyxdvYHlazamOgwpJpkEfiBBEp9mZj+a2U9mFvmh2h9OWFjk7447Nk9RJNUv/9KY3/Ld9Pq3cwFII0jkE/87utTt8vKcTte/y8Anv/4NR6tauWsKr4jcuD7JqXXDb/ja0sTqVvKFLF1da8eqVih/9rXNyuAA7HbHx+xy+6hUhyHFJJPADyeYNvUg4ChgQPg70hJrHBmZaQy4ZOeUxVLtCgahb1l/wcwlawoeT5gf9I9aBV9whz8UNE1/PnXLel6mLl7FBTc+yqgR723R834zd8555htueKPsc9Qls2eycd70YPNa0mRT2ichfc30ao+jpkgLC2RzbTlDk1qpwgTu7rOA9sBB4eO1yTwvSo7/425AUAtv2aFRiqOpBltZqxhw9wgumzGUi2f9kya5QRdE3TJ2tWlzHivW5TJpUWGT9LqNm1m3Mbm+8jOf+oYdpr7Pjy88tlWxbr2NjJ6Uw8vfzClzi+f+eCmLXroXCEbjfzltKZs255W5fTSUfCMtL9qDExMtXzh/i7bPH4WuBC41WTJTqd4C/Am4IVyUCdSqobr5SXvepOXkzE6uDzTKtrQPfP6USQw5ZQC9V/4MQEbeGs6a+wxnznmJprnLSn3OjW+O54AbX+HYBW+Tnhc0S/e4+QN63PwBD4yazHnPjmHNhrKbq6tlZLs1SGqzOT//xH9efKbM9ac98RUPfRLtvnAv5fzDgPVronVZ2bL5c0ssm/nDtzx9xYVM/PxTNm3cyI+ffJj0/4ASuNRkydSkjwOOBtYAuPt8oFZWUzdtDL7Fpn+fk+JIqlbhVKrJNaFP+l/QDN5hXdFaadNNK0j30vtJp/97BAPnDaf9+vlctuAruq6ZxoUzn+LgnNE89MkUvh4/nZc+n1x6fO7U3byu4O8t/RL9Yc6vzEho7i9b6R//039dS5oXthS8etsNjHnn9RLb7bVyNofmfA7uTF1c9uj13I0bWLF4YZnrAcZ/+nHSI+ATjX7uCYac8ttvTeClZXDgq7e+55W/30nuhrL7wyd+8RljRrzxm2PI9+pf/8w//3T5Fj9vypgveeaqi5jyddHBd0tmzwRg0fSpfPHqC4wa9gjTxhYdk/HrwgX8NPoj1q4I7k7YbOVsmm9cSl4l94EvXzifzZtyGXLKAP770rMVbv/h4w/z8NknVWoMUnskNRNbeDlZ/kxsyVVbIuz9x39KdQhVq4IvpUUzpjHklAHMHv8D/xg8iG/fewuAVhvLP7H55utxBY/3WvplwePNG3/iiMUfUcc30nP1L2RvXMY5c55n1jN3ltjHxvXrWL5oIc02Li9YdtqwrwBYmbOYSV9+Hr4EZ9XSJUz5+n8MOWUA9776X6bNW8LKJYs55tEvOPC+T3np4+/ZuK6cy7zKOH9pvvw5Dl7yKb8uKpp0Vy1bUpAMAHZf+i47rP6JXVbPIGPtcl666Rp+/OQDpo37hqVzC092Rgz5G09edn6JWl/uxg0sXzifRTOm8eHQB3n03FN5ZFDwZT3py89ZmbMYgKVz5zDyoXvI3bCeIacM4LHzT+ft++5g+YJ5fPve2wX7+/T5p5g27huGDT6HN+/5KwDrVq/irXtvZ82vy/nuw5Fsyg1q1NO/G8Po554IynVJDv9+ekgpJeH8/NW/mPvtlzx81gkMOWUA73/6DQALp01hyCkDGHLKAN57+F7+88LTbFi7lgVTJ7F25YqC96ismu6kL//L58OfZ+Lnn/LV68OLrJsz4UdyZk5n0i+TmfH9uCLrli+Yx6aNGwvej9XLl/HOkL/x66KF/PLFfwB45/6/lXlSs2hhUKaJn4s1vy7nqSsu4KPHH2bohQN5+7472W3CcE6f9yqJPSM5s2Yw/dsxhbEsXMO3748kd33J1qJ1q1ayalnRcR+LZ07n6SsuZNSwRwH45u3XAHj2msH880+Xs2LxIpYvmMeQUwYw66fvARg/+iNy16+jNKuWLeHNe/7KhrUVX8q4ZPbMgvdi7coVLJo+lRWLF7JyyeIS65O1fME8po75qsTy9WtWs3JJDkvnzi64vHTj+nX8umgh40eP4otXX2T8px8X+R/J32bF4oX8/J9/s+bX5UXW5cyawczvxzF/8kSGnDKAX/73H5bOm8OUMV+SrMUzpzPrx++LxJ9f1quWLWHdqmBcz9K5c7b4sti1K1eUiLk6WEVvmpldC3QHDgXuAs4FXnL3R6o+vKL69u3rY8dWzkxZt977Hs0mziU9qxuXPH4QAO889B1zJgZvwuChB5a4D/DG9ZtYu3IjTbeputsLjnl3Bg2a1qHn3m2q7BgfvzKcH954gR+a7sygqy5nyeqNnNy3fcH6yqjRJeusJ1/n9T9ewJrly7h6+AheuukaFk6dzH9bHsW+OSMAWJ3Zkoa5hScPh93/Iic9+BHnz36uYNnSzGya5wbv3bT6nRnXdBdOnv8GGy2TA089nS9eDra96uW38Tznh4/eZfQ/XwIvv6Z++CVX8/6j91f4OjbVzSZjfdF/4L5HHc/YhJrp6XcOYd4vP9N2h55kZtXhi1dfYOqYr+iy215MH1fyi7BO/Yac+feHePKy8yo8/rHX3cxbYdLO94eh/+SzF17kly8+LFjWuE17Dh10Aa//7WYAtttrH74cN6Gg7IpLy+xKXu60gr8XZW3DeYPP5d2H7imz1p7vfzucyupc5yy+Y+OGXBq0OZtFv8ykU69ZTP6y6FULJ/z5rwUxFXf4pdfQc98DefHPV7FwWtBVcc4D/+CZq/5Q7vG37d6DDY3bs3zcRwDU3eVA1n9XeNyOO+3CrB+/K3cfv/vbc/Tr2pzVy5byj4vPBuDSZ17lhRuuYtWypmzeOIG2O/TCMnZjtyN68f2UyWyeO4m5Y4ITzWteKbzCIZn/q+36HcXkL4PPff9LbuKDR+8AYM/jTmHZvDm02W4Hfho9imXzSo7R6LTzbhx19fW8cP0VLF8wn9Nuv5c69RuybMFc3rnvTpq368DJt9zF0AvOKPK8PY87i6/f/CcAex1/CrseeSxDLziDjjv2YcPaNRx87sWcNeQdfr/k35zw57/Saeddi7ye1t2259S/3kNaejoAQy8YyNqVQUtGg+xm1DvoNDJ//JgFUyaViPmIy66l4459WL9mNSMfuoecmUUHTl7zykhWLlnME5ecC0CH3n2YPf77Ittc+Niz1G/SlHm/TKBZm3b84+KzaddzR/Y57TK+eu1x9jjmRNps35MHzzgWgIPO+QO9DziUiV98xqhhhWksLT2dM+9+iOf+eCnb99uXQy64hLoNGvLLF5/x7sP3MuDqPzNj3NdM+OwTfv+Hy9nxoN8D8Nyfv2DJtLsK4q1sZjbO3fuWuq6sBG5mddyD9lEzOxT4PUGd5UN3r5TrCcysP/AQkA486e53l7d9ZSbwO/74d+rN/py62VcVJPDZE5Yy4pEfAGjVuTF7Ht0FSzPS0ow23Zvy5pBvmT/lV865Zx82b8qjfuMsfvp0Ljse2I709KKNGXl5ztDBwZfFiX/qS6vOjUvE4O4lThLy74x2/v37sn5NLk1a1mfKmEVg0L1vK758axpNWtSj5z5tePzST+nYuzmHX7QjK3LWUad+Rql3Utu0cTP//dcUdj6wPc3aNGDU8OH8+OYL/JTdh0+b9gNg5t1HFmxfnQm8uvU68ERmTZrI6vkTUh1KJFhaYzwvvjOyAfQ8+Up+frVwngNLy8TzojU2oKpt06kr7Xr04tfFOUwfl3ytuLK06LAzS2b/UOn7zaybzabcTHzz4hLrTrxpCK/dcU2RZVltd6dr11YccclFlRbD1ibwb919VzN73t3PrLRoCvefDkwmqNnPBcYAp7n7z2U9p3IT+D3Um/0f6jS9ikv/cTAAsyYsZeQjJT8E7pvo0Ksxc34u2lSVnpnG5twtH328y6Ed+G7U7IK/GzWry6pl69n/9O357KXgLLVxy3qszFnH78/vxUdPBskmLd3I21zy/Tr//n158uqgn/qIi3ekQdM6LJm7mtHPl35/8677LWTC2y8xvtkujG6yFwAjL9uHH4Y/ydpmHVj5wXOlPk9ERCpWmTXxrU3g44F7gZuBPxZf7+6/adSKmfUDbnX3w8K/bwj3e1dZz6nMBH7fhXdhK76gTtOrOKXxMziZjFmRyZR12WzeOAUoOeuQZbQlo05f0rO6krd5BWnpTSolluq2af03bFr3OU2AjLQ6pG/eDG4sTlOtQkTkt7p6+IgSratbq7wEnlHO8y4CzgCaUnLiFgd+67DTtkBiR85cYM/fuM+kZW5wgouYnJwR45jVojG/tG0JlH29qG+aR+6meeQmdJtaWtMqjrTyBbd0h6ZL1tBrXtC/uS4jg8W9OqYyLBGR2sF9iyfK2hrlJfDW7n6xmX3n7sOq4NilvboSzQFmdiFwIUCHDh2q4PB5vL9z163fS3qrygmnGhlOXu5kPK0uAJvSjNFK3iIilcLSqmeus/IS+A3Avwhq4lWRwOcSzPCWrx2lVH/Dk4dhEDShV9bB8+qlw3rIC29iUSarR2b9g9m0/mt8czASum721ZUVRkq457Hh18lMadePJ3oP4LD576c6pBRKB6J7JzURia/yThOWmtlooLOZvVP8pxKOPQbobmadzSwLOBWojP0mpUGDLAA8b0XBsmP++BcuefpNOu9+G3Wzrw5+ml5MetZ2XDzsHwXLAAbdvTcnXLdbkX1mt27A8dfuWuJYZ9y2F3XqZ9Cme1Nad2vCTge1o0OvkjdPOeisHgWPDz23J+17ZHPE4J0Klp1//74AtNshm7Pv2huArHoZnP/AfgXbHH7RjuxzUncG3r4X+5zUnYPPLtwnwDadCkfDL0qzmCdvWNnsklSHICKyVcobxJYF7Ao8D5xffL27f/abD252BPAgQTXoaXcvObNHgsocxDbs2odZNecjsPrga83XSVUAAByaSURBVOk/+Cp67X9wwfrlC9fw0q1f07pbE46/NkjUM37IYcy7Mznphr5FBih4XnBLi7TwDghL56+mfqMsMrLSWTpvNdt2KX2w2+JZK/nXXWM5+oo+tO/RDID5U5azYe0mOu/csmC71cs3sGnjZpq2Knr9eeJxc2avosk29ciqW7JRxfOcx8JL2s5/YD8+fXEi40fdwJRGe9B91TdbXniV6P1dL+fwbx8usTyz4Qnkri45+1m+3qddyfiXt/wWppl16tL3qBP48rUXAXik08VcNnPoFu9na7TquQeLft668l6b2YL6uVt2Q5itMX2bXemy+NsqP05Z0rN6sXljxZf4ZbfZnuXzS15XXJMl+9oqsk3n7iyekdqpe7MaNGPjmsJplA+/5FoWTptJRp0sxrz9UpFtm+49gF+/2LpR2cf88Rbevve2LXrOCTc+xE+fvMnkrz4td7smrbZjxaLSZ4NMRpfd9mT6uJJ3WTz73v+jRYdOW73f4sobxFZmDdzdN7r7V8Dv3P2z4j+VEZi7v+fu27l714qSd2UrSMAeztO97wFF1mdv24DBjx3IcdcU1qg779ySk/+8e4nRhfnXiudr3qYh9RplkVknvczkDbBNx8YMfuzAguQN0KZ7dpHkDdAwu06J5F38uC07NCo1eedvl69OvQx27R/0d1sFU6m23aHwNvCW3pqshieXu32i+XW2TWq7j//0+4LHR15xXcHj5xuVjG3QkCDR7nXCaRx27CHsffJAdj/mRNoOvI432l3EhL0vZZ8b7ueRThfx1raF4y5Pu30IFz37GvuePogLhz7L7046jRNuuI03tj26zNnY8rXdoVeRv7uee0MZW0LLTl0KHvc76XTm7HFWkfUDbymcqKTzLn3ZbcBxAOx/5gUAdNs9uCb/0Asvpfehd3HklU/QrkdvAAbf/VcGP/Uy23QuHK9x1j1F51La74xz6NB7Jxo0zSazbj0ATrgh+PJrmN2syLYXPvZswb536X8ULXruAsCautlFtsvodliZrzdRs7adCx5fPXxEifWHXXQFVw8fQZ/Dgvely66Fn60dD+5f8PiyZ++i/+CrCv7O70t8vfUxjD/sL1zzykiuevltBt13Dx1671zk/enQu7C1Kt8JNz7AaXf8X4ljlmfQkJI30EnL7Er/wVdxzSsjufLFt9j/zMLJdfoPvoqT/nInp99ZOJvd1S+/w1UvF86Sd9XLb3PBI9fTvH3h+9frgEPose+BRY6z3Z57M/iplwv+zsjM4urhI2jernD8T89996d+k2DwbJvtexYsH3jXgxw4qHAK2rY7BOuOufYmrnllJH36n8uexw2ia9+9ihyzQdPWBY8vf+61soqlwAXDXuayp/8ZvBcvvc2pt91Dz/0O4KBzBrHf6adz/A2FCff0O4Zw3uUX0br79qXua9/TBxX5+4w7CydNunr4CLr13Z1rXhnJUfc+zcetTqHD6YXdlxcOfZaLh71Ay46dOf+RJ4OFZnTaqSu79A8+Uz32OYD+g6/i5Jv/RtNtW9O62/b0PvD39Dn8ak6++aaCfW3TuTuHX34dFz72LPUaNWaPY09iwJXXc9rt93La7fcVbDdoyFA69N6ZQy+8lOOu+wu9DzyUIy//I2f+/WGOuPQarn75nUpN3hUpsw/czB509yuBp81K3izY3Y+u0siqXP43d3C5WFpaeskt0qp+FGF1HANg4O39yKwTvMb8xJ3uRS8bS8toT5/f70+v/fegZYdOYMZ377/DqmVLeXRsW/ZfX3KSmERzjrmFG/bKplWXbnS6/l0um1GyZvtq6+PB4KAlnzGlQfBlts+pZ7Fp4wZ2+N1+dNu9H1MnTeX/np9a5HnN2ranebv2RZLDXiecCgQT4jTosIDDe2/LLwtXgU2hXa+dGXjlITRv256MrKC7ZI9jTix4bqc+uzGvXvnzk189fASrluYw4v67WDhtCtt06sqxh+1Np9EXs+uv37H38sLZ05q1bc+Zdz/EhM8+4cOhD7LTwf35XXYz4GR+GPU+OeEUrAefezHLF8zjwEEXAnBAmAh2O/LoIieG+amofY8/Mfmrzwu+wM+8+yFGPvh3tuu3Dy07dma/geeyftXKgi/C3Y8+AYBZP33PuHffom3P3rTr0ZvdjzmBN+++jQ69d2K7vfalUfMWHH7pNYx44C72OuFUcp5+KjhgsZPTzju1ZcrUINn0HXAcS2bPZIe992f86FFM+eZ/dO7Tlz6HBZMA5U8AZGYMGjKU8Z+OKpyJzgwzo12PXnz/4QiatNqWq15+m0XTp9K62/b89MkHAKSnp9Fr/4P54LEHgvfg5aBX7dRf19E87PbK/1896S93FjnuvqcN4sUbr6ZVl26c8bcHipRn/nW533/0Hl377sGwi4PyatqpOwNvuZMFUyeRlpZe6klARt1+XPHcjQV/p2dk0HfAcbTdvifbdu1e6oAlS0vDgN0GHMe4kW+SlpZOg6bZDLrvoRLbHnHpNaVO6gRwxQtB+Z1936P8+PH7fPzkYzRr047zHn6C7z98l75HHcd7D99H9z1/R6su3WjVpRtL507mx48/4NTb7imyr4PPOR6AzZs2MXbkm+x2xDEF/xsrFi8kI6sOmXXrghnte+7IfqcH5Vm3QcOCefo3Z3aicZPCW2GkpacXnCjka7dDL9ps35NDzh8cfI8Arbp0LzIT2zWvjMTd2Zyby4zvxzL35/E0aJrNtt2244jLrmXmD98WKY/tOmzD+w+fyaplSxj2UjA7X6NmLYDCE9nzHn6SzDp1ghh69C5xLfZ5Dz1RonzP/PvDZLdpS2ZWnYJlg598qcR2+Zq3a1/wuYPgxDTfNgkn8NWlvCb03dx9nJntX9r6yqqFb4nKbEJ/4rpHWTkr6P9t2qo15z1c8s2trZbOX8WzV51WZFl6nd3IqLdfwaQ2xXX607u02mycPKewdjKzXgfm123P75Z/ARSdvOCnuSsYfv0lNMsNplR8pPPFtG9WjznLis7rnDgDXKLPpyzh65sGATC3QQeuu+GKMs/iE7k7Qz+bxom7tWObRnXL3bbT9e8ClDjR+KDlIbRdP59nn7yntKeV+rzKvO6zqiyeOZ1mbduTkVnyROy9V19j4uvP8vX2J7LnpMJa2J43P8b814bSf/BVNG65Tbn7z0+kiZ+DDx57gAmffcJhF11B7wMPxfPyGPfe2+x8yOFBsgitWroEM6Nhs2BsyA+j3mP18uXsfXLRaT/LOm5aejp/ePyfDL3gjCLTXJb5nFOPAvcyJ9wYdun1rMoZH8RWf09ufeYvFcYBMPnrL8hu3bYgcW2thwYeT5sdenLSTXcULHN3Fk2bwrbdtvtN+94Svy5aSJ369Xns/NMBWN10N275x5Y1aQNs3pTL0rlzWLV0SZCou3Yvsn75wvnUbdiIeg1r5n2yKut93RpbdR24u48Lf39mZi3Dx7XmNl2NWjdk5SyAdNr26FXR5rVeRt09ykzeABgsynCGtzmRU+cHX/Dr0usyt27pX+o7tmvCUe1Oo926uWyy4GM28rJ9Wbkul9UbNjEtZzVdWzYs83D7dG9Bfu/SwFvupHXH7DK3LRKmGYMP6JbUtqXJanQ6Uxo2YUrD7mVu0y67HnOXr2NEqyM4atF79DnxrBqfvKH8GkLHvQ/lli9X07hJJ9ZkX0CD5U/wddN+nNtpW/a5pcy5lYo48aY7CmpAZbG0NPqGXQeJGjVvUeTvnQ89IqljAgy48k+07NiF+o2bJD0D1jn3P07OrBllrl/za+GJ5oH9O5e5XXHb7bl30tuWJ7/mncjMqjV5AzRtVbQrbG2drbs8Kj0jk206dSnzM5i9bdXd+6EyVNb7WtnKfDcscKuZLQF+ASabWY6ZlX7HgYhpWHBDks3UqVd1NyepiUpPNskloPxkDPBZ830rfN7ceu1YWHdburRsQJN6mbRvVp8erRszYKc29Ghdcn74RHUbBAl+tyST99bqslthP29aRvCFlV5O18ZpewTN2TPrd+SltiezwyHRnzs+Pd3IqROMvXilcQb/bnsp32T3ITtstk5Gxx370Ga7olc97LDPAQAlmlkr0/b99qVZm7Zb9Jxmbdqyfb99ktt/32qbX6rGS6tffjeaVK/yrgO/Etgb2N3dZwCYWRdgqJld5e4PVEeAVSU9q7DPO6t+vBJ4aRo1r5fUdsuzsvm4xYHMqN+J3LQs1qYnV3ZDz9it4o2KOe/hJ8ndUPJWjZWtUfPCs/8HmwQ1r9HXHFDm9oMP6Mq9Hwb9eUuzmpNeTZM2VKX8cRFmxpo0mJBVOdfGd9pplyq5Q1PVC7oW0zI6lmjujbMDdyi/G0WqV3kJ/CzgUHcvuHbF3aeb2UDgIyDSCTxx4ElW3GrgpeSbIy/pk9Rznz9vD5au7sOVrwS39FuVWXGf1bS/HVFujbYsdRs2pG7DspvZK0tGeDK3JrM1uWGYHZqX/ZlIbMHo0boxLRomX0utqfJfkoWP3eH0PStz5sOICW+VWqdhyUFtcdZhu+ptwpfylZfAMxOTdz53zzGzyLejJI7+zqpb/mCn2i6zwQBatKu4mfrsfh3Zt3tLpixaVWT5q62P5/bjepfYvl5mOr/v1Wqrknd1atkhOAmZm7XlA2jev2Lfyg4nJRLHsn545X58NX0pZ/XrlLJ4aop6jcvv04+bHX63X8UbSbUpL4GXvB1XcusiwRKqoRlZ8fonLd4Fnp5V8Vl1WaPFARbVbUXDdiUHp0y8vX8pW9dcfTs346M1FW9XG3nYZGwG27VqxHatauZo4OqTXx41++RT4q28zrudzWxlKT+rgB2rK8CqkpYW3wReXPseWzZIrG12YX/5M+cEk2P0rGBAWhS0b1afepnp1MmouE+7ZaPa+ZmpaHKfuEgPPwM9967Zo6Ml3sq7jKzkzCa1ScKZdUWXvtQ2iScvdZpczL6nbFm/Vv2sjCI18vJq55Hizve3HJrUpqOu2o/la2vP/dPLmA4ivsKvh7q1YHyD1F7lNaHXamnpiTXw+P6TWlo9GjSN1wlMeepkJHfe2rR+Fk3r157PTX4CV4txoLAcVCBSc0X/+petVLQPvPZ8EW+NjMzYfgzIykijRftgbvj2vXdOcTRSU7RoH1z9UL+JTm6l5optDXzhj2MKHtdrXPYNR+IgsTUiTsbddAiZGWk0rpvJxcNeKLhBRBzlD2KTQP5JrQaxSU1W4Te3mf09mWVRs2rBnILHca+Bx1XzhnVoXDe4IjLOyRsSm9CVsALhKPQafgmkxFsyVa/SRvUcXtmBVLd62YVzL6dnRP6y9i2i72gprkfrxpy5V0ceO2PXijeOEY3Kl5qsvNuJXgwMBrqY2Y8JqxoBX1R1YFWt68FHsfjnYDaxuCXwRA2z1ccnwdzvtx9bcjKeuFKLhERBeX3gLwHvA3cB1ycsX+Xuy6o0qmqQOJVqekZshwLQqHm8Z6ETKZWG5UsElNmE7u4r3H0mcBOw0N1nAZ2BgWYW/Q7DhDE7aUleOlQb5W3W4CWR4gpnpovnAM/i0jMzC+7VLjVHMlXP14G+ZtYNeAp4h6B2nvwNe2ugxFG3aWlxS+CFtQo1EYqUIr8CrkFsAFz+3GupDkFKkczpZZ67bwKOBx5096uA1lUbVjVQ4gKgebuqv9uXSNR4wdR0+p4ASEtPJy09bhWdmi+ZBJ5rZqcR3F40/8a+kR/1pakjA7v175jqEERqIF1GJjVfMgn8HKAfcKe7zzCzzsALVRuWVKXExodGzTSITaQsuoxMarJy+8DNLB34s7sPzF/m7jOAu6s6sKqnf0wRKZ1a0CUKyq2Bu/tmoKWZ1bqpymI9daT6/0XKp8vIJAKSGYU+E/jCzN4B1uQvdPf7qyooEZFUKriMTFVwqcGSSeDzw580glnYaokY/2PG+KWLbBHVwKUGqzCBu/tt1RGIiEiN4fkTuaQ4DpFylDcX+oPufqWZjYCSHcbufnSVRiYikioF33jK4FJzlVcDfz78fV91BFLdYjyETUQqEOtBrhIZ5SXwHAB3/6yaYhERqVE01bDUZOVdRvZW/gMze70aYhERqRkKLiNLbRgi5SkvgSd+dLtUdSAiIjVFYf5WBpeaq7wE7mU8rhXiPBe6mgVFKhLjLwiJjPL6wHc2s5UENfF64WPCv93dG1d5dFWoVWPNAS4ipXPNxCYRUGYCd/dafe+4xvUjf0M1EakqBflbCVxqrmTuRiYiIiI1jBK4iEgxjprQpeaLbQKP8+hSNQuKVKBgKlX9r0jNFdsELiJSpjhfpiKRoQQeQ6pUiIhEX3wTuLKYiJQhLy8PUBO61GwpSeBmdq+Z/WJmP5rZm2bWNBVxiIiUJj+Bp6VXeMdlkZRJVQ18FNDb3XcCJgM3pCgOEZESPG8zAGnp8W2klJovJZ9Od//I3TeFf34FtKvuGGLdNBbjly6SjLzN+TXwWj2flURcTTi9PBd4v6yVZnahmY01s7E5OTnVGJaIxNWRl19Ll113p1HzlqkORaRMVdbBY2YfA9uWsupGd3873OZGYBPwYln7cfdhwDCAvn376toOEalybbbrwXF/uiXVYYiUq8oSuLsfUt56MzsbGAAc7K6LLqtTnCexERGpLVIyxNLM+gN/AvZ397WpiEFERCTKUtUH/n9AI2CUmX1vZo+nKA4REZFISkkN3N27peK4RcR5FLqIiEReTRiFnlpxTOQxfMkiIrWNEriIiEgExTaBx3oiFxERibzYJvB8uqRKRESiKPYJXEREJIqUwEVERCJICVxERCSClMBjSOP3RESiL7YJXKPQRUQkymKbwAsoj4uISAQpgceRWh9ERCIvvglcSUxERCIsvgk8pL5wERGJotgncBERkSiKbQKPc707zq9dRKS2iG0CFxERiTIlcNVHRUQkguKbwGM8eM1THYCIiPxm8U3gMeZ5SuEiIlGnBB5DeZuVwEVEoi62CTzO139nZMX2bRcRqTVi/00exzyeVTcj1SGIiMhvFPsEHssMLiIikacELiIiEkExTuCqeYuISHTFOIGLiIhElxK4iIhIBMU3gasFXUREIiy+CTxkyuQiIhJBsU/gIiIiURTbBB7nmdhERCT6YpvACyiRi4hIBCmBi4iIRFCME7hq3iIiEl0xTuAh5XEREYkgJXAREZEIim0C19g1ERGJstgmcBERkShTAhcREYmg+CZwtaGLiEiEpTSBm9m1ZuZm1iJlMWgYuoiIRFDKEriZtQcOBWanKgYREZGoSmUN/AHgOsBTcXDVvEVEJMpSksDN7Ghgnrv/kIrjFwsm1RGIiIhssYyq2rGZfQxsW8qqG4E/A79Pcj8XAhcCdOjQodLiExERibIqS+Dufkhpy81sR6Az8EN4S892wLdmtoe7LyxlP8OAYQB9+/atvOZ21bxFRCTCqiyBl8XdfwK2yf/bzGYCfd19SXXHIiIiElXxvQ48pIq4iIhEUbXXwItz906pOK4St4iIRFnsa+AiIiJRpAQuIiISQTFO4GpDFxGR6IpxAs+nRC4iItGjBC4iIhJBsU3gpmHoIiISYbFN4PmUyEVEJIpin8BFRESiKL4JXBVvERGJsPgmcBERkQhTAldNXEREIijGCVyZW0REoivGCVxERCS6lMBFREQiKLYJXNd/i4hIlMU2gecz9YWLiEgExT6Bi4iIRFF8E7gq3iIiEmHxTeD51BcuIiIRFNsEnlW3HgA99j0gtYGk0HZ77p3qEEREZCuZu6c6hqT17dvXx44dW2n7W7VsCQ2aZJOWnl5p+4yK9WtWk1mnLukZGakORUREymBm49y9b2nrYv3t3ahZi1SHkDJ1GzRMdQgiIvIbxLYJXUREJMqUwEVERCJICVxERCSClMBFREQiSAlcREQkgpTARUREIkgJXEREJIKUwEVERCJICVxERCSClMBFREQiKFJzoZtZDjCrEnfZAlhSifuLOpVHUSqPQiqLolQeRak8ClV2WXR095alrYhUAq9sZja2rEni40jlUZTKo5DKoiiVR1Eqj0LVWRZqQhcREYkgJXAREZEIinsCH5bqAGoYlUdRKo9CKouiVB5FqTwKVVtZxLoPXEREJKriXgMXERGJpNgmcDPrb2aTzGyqmV2f6niqgpk9bWaLzWx8wrJmZjbKzKaEv7MT1t0QlsckMzssYfluZvZTuO5hM7Pqfi2Vwczam9loM5toZhPM7IpweezKxMzqmtk3ZvZDWBa3hctjVxaJzCzdzL4zs5Hh37EtDzObGb6O781sbLgsluVhZk3N7DUz+yX8/uhXI8rC3WP3A6QD04AuQBbwA9Az1XFVwevcD9gVGJ+w7B7g+vDx9cDfw8c9w3KoA3QOyyc9XPcN0A8w4H3g8FS/tq0sj9bAruHjRsDk8HXHrkzCuBuGjzOBr4G94lgWxcrlauAlYGT4d2zLA5gJtCi2LJblATwHnB8+zgKa1oSyiGsNfA9gqrtPd/eNwHDgmBTHVOnc/T/AsmKLjyH4MBL+PjZh+XB33+DuM4CpwB5m1hpo7O5fevAJ/GfCcyLF3Re4+7fh41XARKAtMSwTD6wO/8wMf5wYlkU+M2sHHAk8mbA4tuVRhtiVh5k1JqgMPQXg7hvd/VdqQFnENYG3BeYk/D03XBYHrdx9AQQJDdgmXF5WmbQNHxdfHmlm1gnYhaDmGcsyCZuLvwcWA6PcPbZlEXoQuA7IS1gW5/Jw4CMzG2dmF4bL4lgeXYAc4Jmwe+VJM2tADSiLuCbw0vod4j4cv6wyqXVlZWYNgdeBK919ZXmblrKs1pSJu2929z5AO4IaQu9yNq/VZWFmA4DF7j4u2aeUsqzWlEdob3ffFTgcuMTM9itn29pcHhkEXZFD3X0XYA1Bk3lZqq0s4prA5wLtE/5uB8xPUSzVbVHYlEP4e3G4vKwymRs+Lr48kswskyB5v+jub4SLY10mYXPgp0B/4lsWewNHm9lMgi61g8zsBeJbHrj7/PD3YuBNgq7HOJbHXGBu2EIF8BpBQk95WcQ1gY8BuptZZzPLAk4F3klxTNXlHeDs8PHZwNsJy081szpm1hnoDnwTNg2tMrO9whGTZyU8J1LC+J8CJrr7/QmrYlcmZtbSzJqGj+sBhwC/EMOyAHD3G9y9nbt3Ivg++Le7DySm5WFmDcysUf5j4PfAeGJYHu6+EJhjZtuHiw4GfqYmlEWqRvWl+gc4gmAU8jTgxlTHU0Wv8WVgAZBLcPZ3HtAc+ASYEv5ulrD9jWF5TCJhdCTQl+Cfdxrwf4QTAEXtB9iHoMnqR+D78OeIOJYJsBPwXVgW44Gbw+WxK4tSyuYACkehx7I8CPp9fwh/JuR/R8a4PPoAY8P/l7eA7JpQFpqJTUREJILi2oQuIiISaUrgIiIiEaQELiIiEkFK4CIiIhGkBC4iIhJBGakOQESqn5nlXwIDsC2wmWC6SIC17v67lAQmIknTZWQiMWdmtwKr3f2+VMciIslTE7qIFGFmq8PfB5jZZ2b2qplNNrO7zewMC+4j/pOZdQ23a2lmr5vZmPBn79S+ApF4UAIXkfLsDFwB7AicCWzn7nsQ3HLzsnCbh4AH3H134ASK3o5TRKqI+sBFpDxjPLxloplNAz4Kl/8EHBg+PgToGUzvDEBjM2vkwT3XRaSKKIGLSHk2JDzOS/g7j8LvjzSgn7uvq87AROJOTegi8lt9BFya/4eZ9UlhLCKxoQQuIr/V5UBfM/vRzH4GLkp1QCJxoMvIREREIkg1cBERkQhSAhcREYkgJXAREZEIUgIXERGJICVwERGRCFICFxERiSAlcBERkQhSAhcREYmg/wdENd3E704WGwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "### PLOT STANDARDIZED DATA ###\n",
    "\n",
    "plt.figure(figsize=(8,5))\n",
    "plt.plot(df[2])\n",
    "plt.title('Standardized Pressure Signals')\n",
    "plt.ylabel('First Difference'); plt.xlabel('Time')\n",
    "np.set_printoptions(False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "90     808\n",
       "130    599\n",
       "115    399\n",
       "100    399\n",
       "Name: Accumulator, dtype: int64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "### LABEL DISTRIBUTION ###\n",
    "\n",
    "label = label.Accumulator\n",
    "label.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{130: 0, 115: 1, 100: 2, 90: 3}\n",
      "{0: 130, 1: 115, 2: 100, 3: 90}\n"
     ]
    }
   ],
   "source": [
    "### MAPPING LABEL ###\n",
    "\n",
    "diz_label, diz_reverse_label = {}, {}\n",
    "for i,lab in enumerate(label.unique()):\n",
    "    diz_label[lab] = i\n",
    "    diz_reverse_label[i] = lab\n",
    "\n",
    "print(diz_label)\n",
    "print(diz_reverse_label)\n",
    "label = label.map(diz_label)\n",
    "y = to_categorical(label)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████| 2205/2205 [01:50<00:00, 19.91it/s]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(2205, 128, 12, 6)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "### APPLY SPECTROGRAM TRANSFORMATION FOR EACH PRESSURE SIGNAL ###\n",
    "\n",
    "df_spectre = []\n",
    "\n",
    "for i,sample in enumerate(tqdm.tqdm(df)):\n",
    "    \n",
    "    sample_spectre = np.apply_along_axis(lambda x: librosa.feature.melspectrogram(x,sr=40000) ,0, sample)\n",
    "    df_spectre.append(sample_spectre)\n",
    "    \n",
    "df_spectre = np.asarray(df_spectre)\n",
    "df_spectre.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAucAAAEGCAYAAADG9ztyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAS9ElEQVR4nO3dTahl2VUA4LXurerq7upuND+dGKPxhwQJaESStBpBIyrGSQQnQogggmQQowMHjsShA0EU/EGCggMRQQMZ+BN1oGIMdgSTaDChjX9NorFNTCqp7lfv3bsd1Ouq7tj16p1+fc7e96zvg6b61atu1ql97nnrrL323tlaCwAAoL9N7wAAAICbJOcAADAIyTkAAAxCcg4AAIOQnAMAwCAuTfnDmWlrFwAAuJgnWmsvfa5vTErOn/d/AgAAnDr5tzt9R1sLAAAMQnIOAACD0KMCADCQjOwdAjM7axGnyjkAAAxC5RwAYCDtzLrq+pgpeDaVcwAAGITKOQAA3VSbKbgblXMAABiE5BwAAAYhOQcAgEFIzgEAYBCScwAAGITkHAAABiE5BwCAQUjOAQBgEJJzAAAYhBNCoZDMYu/jrd6pc07aAzhsxX5SAwDAuFTOoZRa7+OZ2TuE5bWT3hEsykwBsDaSc6ik7XpHsKzNPb0j6GDbO4BFZbV7OryQwNrVKqMBAMDAVM6hkHIVt/2N3hEws3L3NLB6KucAADAIlXNgtVRV1y+j4KLfLLauoOAYNwu7S5Occ0vJB6AHAitT7nNccEee7faB3iEsKgtO8p/s/rd3CMsqeCbFWerd8QAAMCiVc0qrVmU0U8D61Ksx7fdP9g5hWW3fOwJYVL2nGgAADErlnNJUkuHAlTyESCV59fRglyY5pzRtLetWbXwjotwCySx2ImpERItiLyQFE9Vqz2qeTVsLAAAMQuWc0lQnWJtyleQsWGMq1srjOU01BZ9qAAAwJpVzKCSz1kc+i52kGFFvjKPaTEFBxZZRREREKzY7EgUXOZ+1lELlHAAABlGtxMJZClYZN9WuudphHtWuNyL27ah3CAurN8bV6mo1Z8Au9w5hYfU+x63duOP3JOfcVm4ard7UoYVV61dy+8hiWpz0DmFRrdW6Xqj1+g0AAANTOecWVVWA8WXF7SOLaQVb8rjNJxwAAAahcg7Awao445fFLrniGFOb5BxgRSQy62eMYd20tQAAwCBUzgFWpNpWiqrI61ftno6IyM29vUNYVsHtMvdnXLPKOQAADELlHGBFVJJZm5L3dDvuHcGiNpsrvUNY3u7JO35Lcs4tFacOSz70ARhatVNR97Z1fxZtLQAAMAiVcwAAuqk2U3A3KucAADAIyTkAAAxCcg4AAIPQc85tWW+3lmh2awEAxiE5P0O9rQXrTaSUex8p9jJiq0wADk29bAwAAAalcn6GalW3jHqnALRW65qrzQZVu96Iis+temNcb8qP1Ss2qxsRZz6pVc4BAGAQKufcVvDNtZpqVdWKylWSK1aRPatXz7O6tonJeZZ68PtwAAyuYKLqZxOsm7YWAAAYhLYWgBVRVQU4bCrnAAAwCJVzblFxAwDoS3IOwMGqtEnB0xRSYN20tQAAwCBUzgE4WKrIwNqonAMAwCBUzgEA6Kbm2pE7UzkHAIBBqJwDANCNtSPPNjE5b/4CVyyz3kRK5uXeISyqtV3vEJZV7XrDDzmAQ1cvGwMAgEFpa+G2Vq/itm9HvUMAALhF5RwAAAahcn6Gclv7ZLHrjSg5WwAAjEtyzi0Z294hdCA5XzOLIwE4NNpaAABgECrnZ6nW5pEFb4d20juCRakkA8DYVM4BAGAQBUulU9R6d6l2IE9ERIuneoewqGqLnM0UAHBoJOfcUvGE0HKKtWpVexmJiGht3zsEAC5ANgYAAINQOT9DtarbpuCC0F3vABZWrapa7TMMwOFTOQcAgEHUK5VOUawHe7O5p3cIyyvWg13uRNRq4xsRWWyIKy76rTYjVHGMqW1icp6lHgpZrM1jWzE5BzgwklVYt1qlYQAAGNj00nCpaeJt7wAWtSm4zzkrV62NJ1RVAQ6dyjkAAAzieTRV18nnHcpTQbUxrrWVIgAcmmqZCQAADGty5bzUbi3F3l0u2a2FldF/DcChmbyVYhTaXrBaW4sFoQAAfdXKPgEAYGDTDyEqVF2tdgjRptj1RtRq04oITR4AMDiVcwAAGMSkUmlGlqquVus53xaaFQEAGNG0TDuzVKtHtd1aAADoS/YJAACDmLwgdGsv7NWq1sYDcIjqLWS3lJ1aZGMAADCIyQtCK1XO9+2kdwgAnKHkjF9TSYY1m5ac5yYuba7MFctwjvf73iEAcBaJKrAyBUsOAAAwpsn7Im42dbZS3LRa+35vo9b1Aoev4mLBTaEZ7IiIbPVmsVuxttqKn+OzqJwDAMAgJi4I3cQ267yxn+SN3iEs6nLe3zuE5VVbTKY4wcpU21YwIiKKVZJVVdev4uf4rLu6WGYCAADjmrhbS5bareVod613CIs6iaPeISwuC80ERURkHvcOYVkFd/KoVmWsdr0REaEfGVZt+gmhhRYNbopNLGynrw8+eK1JVtfMD3UADk2t7BMAAAY2+YTQTdapnFezi1pTpRFhehgOXMWFZJHFrrnYjB+onAMAwCD0nJ8hi22z19qudwgAk1ScDcp6lwylTG5r2WprAYBuqr2QVGxdqjbGPFut0jAAAAxscltLyucBgIWoIlONTBsAAAYx+dSZTWzniGNI1RaE7mPfOwQA7qJaD7bKOdXUOxJygv2+1h7Ym22tlxEAgNHIxgAAYBAq52fYbq70DmFRmXValgAARqRyDgAAg5hYOW+xi+N5IhnQbn/UO4RFOSEUYHwWSMK6qZwDAMAgJlXOW0TsC1VXq22lCABAX5PbWvaV2lpara0U7XMOANCX0jAAAAxiYltLi13UqSa3VquS3KJOyxIAwIhUzgEAYBATe873cdKemicSuqvWYw8AMJrJu7VUavWw7/f62S8YABiJthYAABjEtMp528fx/sm5YhlOs7Xg6mVk7xAWZZ6Atan2Ga7IDCfVqJwDAMAgph9C1OocQlSpvz5Cjz1weCpWVc0WwLpN3+fcjh6sSMUf7MBh89yCddPWAgAAg5jW1tJa7PZHM4UynnJtLQUXwFabHlZvA4CxqZwDAMAgpvec72/MFctwylXOi11vhN5NAGAsKucAADCIiVsp7mNfqHKeOfGv58Bl1ntX03O+btXGN8JsEMChm3hCaK22lu2mVrKqrYW1Mb4AHJpa2ScAAAxs8gmhrdAJoRH39A4AAIBCVM4BAGAQkyvn0U7miWRA1XqwW+x6hwAAUNrk7UgkcAAAMA9tLQAAMIjpG3m3OluTtajV1gIAQF8q5wAAMIjpWyk61GO1qi2ABQAYTa3z6TlTpokUAICeZGMAADAIlXNu0dYCANCXyjkAAAxC5fwM1SrJu0KnvwIAjEjlHAAABjGxcp6RkfNEAl3Umh0BAMY2va0l6yTnthasoNoYexkBgJFVy0wAAGBYkyvnGds54mAA1RbAAgCMRuUcAAAGMbFyvonc3DNPJAPKYu8ul7f39g5hcdUWOLfeAQAAZ3oe+5zXaWvZF9v3++jkWu8QFtdi1zsEAIBbapWGAQBgYJMq55nbuHzpgbliGU61BZLbzZXeIQBMUq01raKmIY9iVM4BAGAQz2MrxTr5/L7d6B3Conb7o94hAExSsapqtgDWbVJyvsltXLn04FyxDOf6jad6h7Comm0tdV42b6rVqgUAh6ZaZgIAAMOatiA0Mi5t75srluFsCu3pHhGx3x/3DgG4oGotDxXbWoB1UzkHAIBBTN5K8d7NQ3PFMpzr+UTvEBbVSvYjV7xm1kwlGeCwqZwDAMAgpu3WEpfivs2XzxXLcKodQpTpXQ04LNV67IH1m7ggdBNX2v1zxTKcasnqfn/SOwTggqolqxXbeKqNMVRTK/sEAICBTaqcX45L8fD+4bliGc6nLr+odwiLOjr5fO8QOqj1fprFqowVq6oAHLZamQkAAAxsUuW8RcS+UCXqeP9k7xAWtdvf6B1CB7UW/aokr58xXj9jDOs2KTm/stnE193/wFyxDOdD1yb99Ry83abW9d5Ua/KoWlsL61cxUa22ILTiGFNbrcwEAAAGNq2tpUXc2NV5g91urvQOYVG748/2DqGDWm0t1VSsuFWrqgKsjco5AAAMYlrP+Tbjax7czhXLcO698VDvEBZ1PZ/oHQIAd1FxRggqmbwCcFNoxvRGq7Vby745IRQAoCdtLQAAMIhpJ4RuWrzivjoL6O7d1GpruVbyXa3aNe96B7AoiyNZo2r3tTYeqqmWmQAAwLAmVc63EfHQpTqVtytZ58CliIhmW0FWpmLFrVpVtdr1Auuncg4AAIOYVDnfZIv7L9Wprp60o94hLKq1OmN7W8VrBgBGNSk5v2ezj1dd/eJcsQxnm5d7hwBcgJYHAA6NthYAABjEpMp5i4yjfZ0TQi+3K71DWFRzCBEAQFcq5wAAMIhJlfP77j2O177mv+aKZTgv+tDDvUNY1Cdy0u2wEsXeT7PYAthWbytFAA7bpGzs5HgTn/nPq3PFMpzPbD7dO4RF7fZP9Q6hg2LJKgAwtGJlQwAAGNe0rRQfjHjld9c5IfQlf/Wy3iEs6rGS72rVrtlMAQCMrFpmAgAAw5q2leKNfRz/e52+5JO4v3cIi9qX3EpRJRkAGMek5DyvXo4rj9TZweTKb9WaWMisdb2wSlnsVFQ78gArIxsDAIBBTNzYukWc1FkQuotaFZnWjnuHAABQmso5AAAMYlrl/PKliFe8eKZQxvNAXu8dwqJaszgSAKAnlXMAABjE9Mr5y186UyjjuZyP9w5hYSrnAMOzIw+s2rTkfLeL+Ny1mUIZz/V9sQWSFdtaqj30q/1QB4ADo60FAAAGMa1yfvVq7B95w0yhjOfq9s96h7CoVmzryIhQSYZD5zMMrIzKOQAADGJa5fwLX4zNX39gplDG88VdsZ5zC0KBQ1Nt3UiE2QJYuWwTHmyZeS0iPjZfOByIl0TEE72DoDv3ARHuA25yH/A098L5vKq19pxbIE6rnEd8rLX2+hcgIA5YZn7QfYD7gAj3ATe5D3iae+Hi9JwDAMAgJOcAADCIqcn5b8wSBYfGfUCE+4Cb3AdEuA+4zb1wQZMWhAIAAPPR1gIAAIOQnAMAwCDOlZxn5vdn5scy87HM/Jm5g6KPu41z3vTLp9//cGZ+yzO+96+Z+ZHM/PvM/OCykTOnc9wX35CZf5OZR5n50z1iZB4XGXvPhHU6xz3xttOfDx/OzPdn5ut6xMkL7yJj73kwzV33Oc/MbUT8SkR8b0Q8HhGPZuZ7W2sfnTs4lnPOcX5LRLz69J9HIuLXTn992ptbaw4eWJFz3hefiYh3RcQPdgiRmbxAY++ZsCLnvCf+JSK+s7X22cx8S9xcHPjI//+/cUheoLH3PDin81TO3xgRj7XWPtFauxERvxsRb503LDo4zzi/NSJ+u930gYj4ssz8iqUDZVF3vS9aa59urT0aEcc9AmQ2xp4vdZ574v2ttc+efvmBiHjlwjEyD2O/oPMk518ZEf/xjK8fP/091uU843zWn2kR8b7M/LvM/PHZomRpPv91XXTsPRPWZ+o98WMR8UezRsRSLjr2ngcT3LWtJSLyOX7P/ovrc55xPuvPvKm19snMfDgi/jQz/6m19pcvaIT04PNf10XH3jNhfc59T2Tmm+NmgvYds0bEUi469p4HE5yncv54RHzVM75+ZUR8cp5w6Og843zHP9Nae/rXT0fEe+LmFBiHz+e/rguNvWfCKp3rnsjMb4qId0fEW1tr/7NQbMzrQmPveTDNeZLzRyPi1Zn5tZl5T0T8cES8d96w6OA84/zeiPiR011bvjUiPtda+1RmXs3MByMiMvNqRHxfRPzDksEzG5//up732HsmrNZd74nM/OqI+IOIeHtr7eMdYmQez3vsPQ+mu2tbS2vtJDPfGRF/EhHbiPjN1to/zh4Zi7rTOGfmO06//+sR8YcR8QMR8VhEXI+IHz39z18WEe/JzIib99TvtNb+eOFLYAbnuS8y8+UR8cGIeCgi9pn5UxHx2tba57sFzoVdZOwj4iXhmbA65/w58bMR8eKI+NXT8T9prb2+V8y8MC449nKEibI17aMAADACJ4QCAMAgJOcAADAIyTkAAAxCcg4AAIOQnAMAwCDOc0IoAJ1k5osj4s9Pv3x5ROwi4r9Pv77eWvv2LoEBMAtbKQIciMz8uYj4QmvtF3rHAsA8tLUAHKjM/MLpr9+VmX+Rmb+XmR/PzJ/PzLdl5t9m5kcy8+tP/9xLM/P3M/PR03/e1PcKAPhSknOAdXhdRPxkRHxjRLw9Il7TWntjRLw7In7i9M/8UkT8YmvtDRHxQ6ffA2Ages4B1uHR1tqnIiIy858j4n2nv/+RiHjz6b9/T0S89vQY7YiIhzLzwdbatUUjBeCOJOcA63D0jH/fP+Prfdx+1m8i4ttaa08uGRgA56etBaCO90XEO5/+IjO/uWMsADwHyTlAHe+KiNdn5ocz86MR8Y7eAQHwbLZSBACAQaicAwDAICTnAAAwCMk5AAAMQnIOAACDkJwDAMAgJOcAADAIyTkAAAzi/wBcUfrcgcx/4QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 936x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "### EXEMPLE OF TRANSFORMED SAMPLE (6 DIFFERENT PRESSURE SIGNALS) ###\n",
    "\n",
    "for i in range(len(data)):\n",
    "    plt.figure(figsize=(13, 4))\n",
    "    librosa.display.specshow(df_spectre[20][:,:,i], x_axis='time')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "### TRAIN TEST SPLIT ###\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(df_spectre, y, random_state = 42, test_size=0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "### DEFINE CRNN ###\n",
    "\n",
    "def get_model(data):\n",
    "    \n",
    "    inp = Input(shape=(data.shape[1], data.shape[2], data.shape[3]))\n",
    "    \n",
    "    x = Conv2D(filters = 64, kernel_size=(2, 2), padding='same')(inp)\n",
    "    \n",
    "    x = Permute((2, 3, 1))(x)\n",
    "    x = BatchNormalization(axis=-1)(x)\n",
    "    x = Permute((3, 1, 2))(x)\n",
    "    # equal to BatchNormalization(axis=1)\n",
    "    \n",
    "    x = Activation('relu')(x)\n",
    "    x = MaxPooling2D(pool_size=(2, 1))(x)\n",
    "    x = Dropout(0.2)(x)\n",
    "    \n",
    "    x = Permute((2, 3, 1))(x)\n",
    "    x = Reshape((data.shape[2], 64*64))(x)\n",
    "\n",
    "    x = Bidirectional(GRU(64, activation='relu', return_sequences=False))(x)\n",
    "    x = Dense(32, activation='relu')(x)\n",
    "    x = Dropout(0.2)(x)\n",
    "    out = Dense(y_train.shape[1], activation='softmax')(x)\n",
    "    \n",
    "    model = Model(inputs=inp, outputs=out)\n",
    "    model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])\n",
    "    \n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"model\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "input_1 (InputLayer)         [(None, 128, 12, 6)]      0         \n",
      "_________________________________________________________________\n",
      "conv2d (Conv2D)              (None, 128, 12, 64)       1600      \n",
      "_________________________________________________________________\n",
      "permute (Permute)            (None, 12, 64, 128)       0         \n",
      "_________________________________________________________________\n",
      "batch_normalization (BatchNo (None, 12, 64, 128)       512       \n",
      "_________________________________________________________________\n",
      "permute_1 (Permute)          (None, 128, 12, 64)       0         \n",
      "_________________________________________________________________\n",
      "activation (Activation)      (None, 128, 12, 64)       0         \n",
      "_________________________________________________________________\n",
      "max_pooling2d (MaxPooling2D) (None, 64, 12, 64)        0         \n",
      "_________________________________________________________________\n",
      "dropout (Dropout)            (None, 64, 12, 64)        0         \n",
      "_________________________________________________________________\n",
      "permute_2 (Permute)          (None, 12, 64, 64)        0         \n",
      "_________________________________________________________________\n",
      "reshape (Reshape)            (None, 12, 4096)          0         \n",
      "_________________________________________________________________\n",
      "bidirectional (Bidirectional (None, 128)               1598208   \n",
      "_________________________________________________________________\n",
      "dense (Dense)                (None, 32)                4128      \n",
      "_________________________________________________________________\n",
      "dropout_1 (Dropout)          (None, 32)                0         \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 4)                 132       \n",
      "=================================================================\n",
      "Total params: 1,604,580\n",
      "Trainable params: 1,604,324\n",
      "Non-trainable params: 256\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "model = get_model(X_train)\n",
    "\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 1587 samples, validate on 177 samples\n",
      "Epoch 1/100\n",
      "1587/1587 - 22s - loss: 1.4619 - accuracy: 0.3497 - val_loss: 1.4336 - val_accuracy: 0.4746\n",
      "Epoch 2/100\n",
      "1587/1587 - 16s - loss: 1.1787 - accuracy: 0.4896 - val_loss: 1.3208 - val_accuracy: 0.4802\n",
      "Epoch 3/100\n",
      "1587/1587 - 16s - loss: 1.0277 - accuracy: 0.5570 - val_loss: 1.1614 - val_accuracy: 0.5650\n",
      "Epoch 4/100\n",
      "1587/1587 - 15s - loss: 0.9755 - accuracy: 0.5734 - val_loss: 1.0022 - val_accuracy: 0.5989\n",
      "Epoch 5/100\n",
      "1587/1587 - 15s - loss: 0.8743 - accuracy: 0.6257 - val_loss: 0.9196 - val_accuracy: 0.6158\n",
      "Epoch 6/100\n",
      "1587/1587 - 15s - loss: 0.8056 - accuracy: 0.6553 - val_loss: 0.9013 - val_accuracy: 0.6384\n",
      "Epoch 7/100\n",
      "1587/1587 - 15s - loss: 0.7594 - accuracy: 0.6755 - val_loss: 0.8338 - val_accuracy: 0.6441\n",
      "Epoch 8/100\n",
      "1587/1587 - 15s - loss: 0.7150 - accuracy: 0.6912 - val_loss: 0.7993 - val_accuracy: 0.6836\n",
      "Epoch 9/100\n",
      "1587/1587 - 15s - loss: 0.6378 - accuracy: 0.7429 - val_loss: 0.8388 - val_accuracy: 0.6497\n",
      "Epoch 10/100\n",
      "1587/1587 - 16s - loss: 0.6305 - accuracy: 0.7322 - val_loss: 0.8509 - val_accuracy: 0.6610\n",
      "Epoch 11/100\n",
      "1587/1587 - 15s - loss: 0.5886 - accuracy: 0.7536 - val_loss: 0.8067 - val_accuracy: 0.6271\n",
      "Epoch 12/100\n",
      "1587/1587 - 15s - loss: 0.5740 - accuracy: 0.7706 - val_loss: 0.6681 - val_accuracy: 0.7458\n",
      "Epoch 13/100\n",
      "1587/1587 - 17s - loss: 0.5475 - accuracy: 0.7656 - val_loss: 0.8190 - val_accuracy: 0.6384\n",
      "Epoch 14/100\n",
      "1587/1587 - 16s - loss: 0.5201 - accuracy: 0.7870 - val_loss: 0.8996 - val_accuracy: 0.6158\n",
      "Epoch 15/100\n",
      "1587/1587 - 16s - loss: 0.4726 - accuracy: 0.8103 - val_loss: 0.7005 - val_accuracy: 0.7571\n",
      "Epoch 16/100\n",
      "1587/1587 - 18s - loss: 0.4511 - accuracy: 0.8110 - val_loss: 0.8572 - val_accuracy: 0.6158\n",
      "Epoch 17/100\n",
      "1587/1587 - 16s - loss: 0.4251 - accuracy: 0.8261 - val_loss: 0.8223 - val_accuracy: 0.6158\n",
      "Epoch 18/100\n",
      "1587/1587 - 15s - loss: 0.3979 - accuracy: 0.8368 - val_loss: 0.8509 - val_accuracy: 0.6328\n",
      "Epoch 19/100\n",
      "1587/1587 - 14s - loss: 0.3633 - accuracy: 0.8557 - val_loss: 0.6437 - val_accuracy: 0.7232\n",
      "Epoch 20/100\n",
      "1587/1587 - 15s - loss: 0.3938 - accuracy: 0.8368 - val_loss: 0.9048 - val_accuracy: 0.5989\n",
      "Epoch 21/100\n",
      "1587/1587 - 14s - loss: 0.3792 - accuracy: 0.8418 - val_loss: 0.6276 - val_accuracy: 0.7797\n",
      "Epoch 22/100\n",
      "1587/1587 - 13s - loss: 0.3616 - accuracy: 0.8532 - val_loss: 0.5841 - val_accuracy: 0.7514\n",
      "Epoch 23/100\n",
      "1587/1587 - 13s - loss: 0.3525 - accuracy: 0.8532 - val_loss: 0.7514 - val_accuracy: 0.6949\n",
      "Epoch 24/100\n",
      "1587/1587 - 13s - loss: 0.3233 - accuracy: 0.8771 - val_loss: 0.7197 - val_accuracy: 0.7119\n",
      "Epoch 25/100\n",
      "1587/1587 - 13s - loss: 0.3147 - accuracy: 0.8677 - val_loss: 0.5880 - val_accuracy: 0.7627\n",
      "Epoch 26/100\n",
      "1587/1587 - 13s - loss: 0.3016 - accuracy: 0.8809 - val_loss: 0.4716 - val_accuracy: 0.8136\n",
      "Epoch 27/100\n",
      "1587/1587 - 13s - loss: 0.2885 - accuracy: 0.8910 - val_loss: 0.5431 - val_accuracy: 0.7684\n",
      "Epoch 28/100\n",
      "1587/1587 - 14s - loss: 0.2830 - accuracy: 0.8885 - val_loss: 0.7481 - val_accuracy: 0.6893\n",
      "Epoch 29/100\n",
      "1587/1587 - 13s - loss: 0.3112 - accuracy: 0.8664 - val_loss: 0.5781 - val_accuracy: 0.7571\n",
      "Epoch 30/100\n",
      "1587/1587 - 13s - loss: 0.2948 - accuracy: 0.8765 - val_loss: 0.4959 - val_accuracy: 0.8531\n",
      "Epoch 31/100\n",
      "1587/1587 - 13s - loss: 0.2517 - accuracy: 0.8960 - val_loss: 0.5772 - val_accuracy: 0.8023\n",
      "Epoch 32/100\n",
      "1587/1587 - 13s - loss: 0.2503 - accuracy: 0.8910 - val_loss: 0.6368 - val_accuracy: 0.7571\n",
      "Epoch 33/100\n",
      "1587/1587 - 15s - loss: 0.2237 - accuracy: 0.9130 - val_loss: 0.5036 - val_accuracy: 0.8588\n",
      "Epoch 34/100\n",
      "1587/1587 - 13s - loss: 0.2488 - accuracy: 0.9017 - val_loss: 0.4371 - val_accuracy: 0.8757\n",
      "Epoch 35/100\n",
      "1587/1587 - 14s - loss: 0.2937 - accuracy: 0.8790 - val_loss: 0.7491 - val_accuracy: 0.7062\n",
      "Epoch 36/100\n",
      "1587/1587 - 14s - loss: 0.2725 - accuracy: 0.8891 - val_loss: 0.4474 - val_accuracy: 0.8475\n",
      "Epoch 37/100\n",
      "1587/1587 - 13s - loss: 0.2516 - accuracy: 0.8979 - val_loss: 0.4386 - val_accuracy: 0.8475\n",
      "Epoch 38/100\n",
      "1587/1587 - 14s - loss: 0.3340 - accuracy: 0.8702 - val_loss: 0.6816 - val_accuracy: 0.7571\n",
      "Epoch 39/100\n",
      "1587/1587 - 14s - loss: 0.2906 - accuracy: 0.8834 - val_loss: 0.4131 - val_accuracy: 0.8927\n",
      "Epoch 40/100\n",
      "1587/1587 - 14s - loss: 0.2030 - accuracy: 0.9250 - val_loss: 0.5783 - val_accuracy: 0.7966\n",
      "Epoch 41/100\n",
      "1587/1587 - 14s - loss: 0.2109 - accuracy: 0.9168 - val_loss: 0.4686 - val_accuracy: 0.8644\n",
      "Epoch 42/100\n",
      "1587/1587 - 14s - loss: 0.1841 - accuracy: 0.9326 - val_loss: 0.4498 - val_accuracy: 0.8757\n",
      "Epoch 43/100\n",
      "1587/1587 - 14s - loss: 0.1763 - accuracy: 0.9275 - val_loss: 0.4168 - val_accuracy: 0.8927\n",
      "Epoch 44/100\n",
      "1587/1587 - 14s - loss: 0.1568 - accuracy: 0.9376 - val_loss: 0.4518 - val_accuracy: 0.8757\n",
      "Epoch 45/100\n",
      "1587/1587 - 14s - loss: 0.1842 - accuracy: 0.9332 - val_loss: 0.5569 - val_accuracy: 0.8079\n",
      "Epoch 46/100\n",
      "1587/1587 - 14s - loss: 0.2103 - accuracy: 0.9137 - val_loss: 0.4373 - val_accuracy: 0.8870\n",
      "Epoch 47/100\n",
      "1587/1587 - 14s - loss: 0.1930 - accuracy: 0.9275 - val_loss: 0.4577 - val_accuracy: 0.8644\n",
      "Epoch 48/100\n",
      "1587/1587 - 14s - loss: 0.1821 - accuracy: 0.9301 - val_loss: 0.4591 - val_accuracy: 0.8701\n",
      "Epoch 49/100\n",
      "1587/1587 - 14s - loss: 0.1798 - accuracy: 0.9256 - val_loss: 0.4925 - val_accuracy: 0.8531\n",
      "Epoch 50/100\n",
      "1587/1587 - 14s - loss: 0.1661 - accuracy: 0.9294 - val_loss: 0.4019 - val_accuracy: 0.9096\n",
      "Epoch 51/100\n",
      "1587/1587 - 14s - loss: 0.1461 - accuracy: 0.9464 - val_loss: 0.4447 - val_accuracy: 0.8927\n",
      "Epoch 52/100\n",
      "1587/1587 - 14s - loss: 0.1398 - accuracy: 0.9433 - val_loss: 0.3677 - val_accuracy: 0.9322\n",
      "Epoch 53/100\n",
      "1587/1587 - 14s - loss: 0.1408 - accuracy: 0.9464 - val_loss: 0.5722 - val_accuracy: 0.8023\n",
      "Epoch 54/100\n",
      "1587/1587 - 14s - loss: 0.2910 - accuracy: 0.8834 - val_loss: 0.5422 - val_accuracy: 0.8362\n",
      "Epoch 55/100\n",
      "1587/1587 - 14s - loss: 0.2541 - accuracy: 0.9004 - val_loss: 0.4839 - val_accuracy: 0.8531\n",
      "Epoch 56/100\n",
      "1587/1587 - 14s - loss: 0.2659 - accuracy: 0.8891 - val_loss: 0.3609 - val_accuracy: 0.9040\n",
      "Epoch 57/100\n",
      "1587/1587 - 14s - loss: 0.2214 - accuracy: 0.9143 - val_loss: 0.3751 - val_accuracy: 0.9209\n",
      "Epoch 58/100\n",
      "1587/1587 - 14s - loss: 0.2041 - accuracy: 0.9175 - val_loss: 0.3615 - val_accuracy: 0.8870\n",
      "Epoch 59/100\n",
      "1587/1587 - 14s - loss: 0.1615 - accuracy: 0.9408 - val_loss: 0.3220 - val_accuracy: 0.9209\n",
      "Epoch 60/100\n",
      "1587/1587 - 14s - loss: 0.1519 - accuracy: 0.9427 - val_loss: 0.4288 - val_accuracy: 0.8701\n",
      "Epoch 61/100\n",
      "1587/1587 - 13s - loss: 0.1533 - accuracy: 0.9439 - val_loss: 0.3013 - val_accuracy: 0.9266\n",
      "Epoch 62/100\n",
      "1587/1587 - 13s - loss: 0.1281 - accuracy: 0.9540 - val_loss: 0.3512 - val_accuracy: 0.9040\n",
      "Epoch 63/100\n",
      "1587/1587 - 13s - loss: 0.1309 - accuracy: 0.9483 - val_loss: 0.3537 - val_accuracy: 0.9040\n",
      "Epoch 64/100\n",
      "1587/1587 - 13s - loss: 0.1322 - accuracy: 0.9553 - val_loss: 0.3687 - val_accuracy: 0.8983\n",
      "Epoch 65/100\n",
      "1587/1587 - 13s - loss: 0.2183 - accuracy: 0.9168 - val_loss: 0.4856 - val_accuracy: 0.8701\n",
      "Epoch 66/100\n",
      "1587/1587 - 13s - loss: 0.1511 - accuracy: 0.9427 - val_loss: 0.4749 - val_accuracy: 0.9209\n",
      "Epoch 67/100\n",
      "Restoring model weights from the end of the best epoch.\n",
      "1587/1587 - 13s - loss: 0.1380 - accuracy: 0.9572 - val_loss: 0.4067 - val_accuracy: 0.9153\n",
      "Epoch 00067: early stopping\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x13d40ce3748>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "es = EarlyStopping(monitor='val_accuracy', mode='auto', restore_best_weights=True, verbose=1, patience=15)\n",
    "\n",
    "model = get_model(X_train)\n",
    "model.fit(X_train, y_train, epochs=100, batch_size=256, verbose=2, validation_split=0.1, callbacks=[es])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "### GET PREDICTED CLASS ###\n",
    "\n",
    "pred_test = np.argmax(model.predict(X_test), axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "          90       0.93      0.91      0.92       152\n",
      "         100       0.75      0.63      0.68        75\n",
      "         115       0.72      0.88      0.79        91\n",
      "         130       0.97      0.92      0.94       123\n",
      "\n",
      "    accuracy                           0.86       441\n",
      "   macro avg       0.84      0.83      0.83       441\n",
      "weighted avg       0.86      0.86      0.86       441\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print(classification_report([diz_reverse_label[np.argmax(label)] for label in y_test], \n",
    "                            [diz_reverse_label[label] for label in pred_test]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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6jrn1sbO4Jzbb2YtgdHAl3jnEV/GC0YREZFTCnkoOue2Asldp74VuOY0l7UOaHH2VYmIyPkoU55TFBERSQsKRREREZ9CUURExKdQFBER8SkURUREfApFERERn0JRRETEp1AUERHxKRRFRER8CkURERGfQlFERMSnUBQREfEpFEVERHwKRREREZ9CUURExKdQFBER8SkURUREfApFERERn0JRRETEp1AUERHxKRRFRER8CkURERGfQlFERMSnUBQREfEpFEVERHwKRREREZ9CUURExKdQFBER8SkURUREfApFERERn0JRRETEp1AUERHxKRRFRER8CkURERGfQlFERMSnUBQREfEpFEVERHwKRREREZ9CUURExJct1AVkFJdWKs3XM0aEuozz0jWvzQt1Ceetoe0vCXUJ57WWVcJDXcJ5yZKZpj1FERERn0JRRETEp1AUERHxKRRFRER8CkURERGfQlFERMSnUBQREfEpFEVERHwKRREREZ9CUURExKdQFBER8SkURUREfApFERERn0JRRETEp1AUERHxKRRFRER8CkURERGfQlFERMSnUBQREfEpFEVERHwKRREREZ9CUURExKdQFBER8SkURUREfApFERERn0JRRETEp1AUERHxKRRFRER8CkURERGfQlFERMSnUBQREfEpFEVERHwKRREREZ9CUURExKdQFBER8SkURUREfApFERERn0JRRETEp1DMgN59azyNa1Xm4hL5aduiIYsWzE22/4Z1a7jxulZcXLIA9apV4JWXnsU5F9DnnTfH0SLiMi4uWYBm9avz6UfvpeUqZFo31inBFw9HMP+xK3jv/rrULJ3/lPPcUr8Unz1YnwWPNeW7Xo14pEWFuGm1yxRg4t21mdm3CfMGXsFnD9bnjojSabkKmdbXH73NfVfVo32dsvS8qQ1rflmYZN9VS+bxzCN3cUfzGnSsV56HOzTn+2kfJOo3++upPNKpJR3rlef2ZtUZMfAh9u+JTsvVyJTGjx1DlYvLUyBPThrVr8PcuT8n23/N6tW0btGUgnlzUaFsSZ4bNjTRNufnn+bQqH4dCuTJSdVKFXhj/Li0XIVUky3UBUigL6Z9wpDH+zLspVep16AxkyeO567ONzBz/nJKliqTqP/fBw9yW8drqN+wCV/NmMem336l78NdyJ37Qro+1AuAyRMn8PzQQbzw8hhq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\n",
      "text/plain": [
       "<Figure size 504x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "cnf_matrix = confusion_matrix([diz_reverse_label[np.argmax(label)] for label in y_test], \n",
    "                              [diz_reverse_label[label] for label in pred_test])\n",
    "\n",
    "plt.figure(figsize=(7,7))\n",
    "plot_confusion_matrix(cnf_matrix, classes=list(diz_reverse_label.values()))\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
